package com.refuel.domain;

import io.swagger.v3.oas.annotations.media.Schema;

import java.util.Date;
import java.util.List;

/**
 * @author zhanghao
 * @description
 * @date 2024/5/10 15:02
 **/
@Schema(description = "礼券")
public class Gift {

    /**
     * 礼券id
     */
    @Schema(description = "礼券id", example = "123456")
    private String id;

    /**
     * 名称
     */
    @Schema(description = "名称", example = "可乐")
    private String name;

    /**
     * 描述
     */
    @Schema(description = "描述", example = "可乐")
    private String description;

    /**
     * 价值
     */
    @Schema(description = "价值", example = "9.50")
    private Double price;

    /**
     * 开始时间
     */
    @Schema(description = "开始时间", example = "2024-05-10 15:02:00")
    private Date startTime;

    /**
     * 结束时间
     */
    @Schema(description = "结束时间", example = "2024-05-31 15:02:00")
    private Date endTime;

    /**
     * 订单id
     */
    @Schema(description = "订单id", example = "2024051000001")
    private String orderId;

    /**
     * 礼券状态
     */
    @Schema(description = "礼券状态", example = "INITIAL")
    private String status;

    /**
     * 兑换时间
     */
    @Schema(description = "兑换时间", example = "2024-05-31 15:02:00")
    private Date exchangeTime;

    /**
     * 兑换码
     */
    @Schema(description = "兑换码", example = "我是兑换码")
    private String exchangeCode;

    /**
     * 核销地址
     */
    @Schema(description = "核销地址")
    private List<Address> addressList;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getExchangeTime() {
        return exchangeTime;
    }

    public void setExchangeTime(Date exchangeTime) {
        this.exchangeTime = exchangeTime;
    }

    public String getExchangeCode() {
        return exchangeCode;
    }

    public void setExchangeCode(String exchangeCode) {
        this.exchangeCode = exchangeCode;
    }

    public List<Address> getAddressList() {
        return addressList;
    }

    public void setAddressList(List<Address> addressList) {
        this.addressList = addressList;
    }
}
